#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef int SLDataType;

typedef struct SeqList
{
	SLDataType* arr;
	int size; //有效数据个数
	int capacity;//数组实际能存数据的空间容量是多大
}SL;

void SeqListInit(SL* psl);//(2) 初始化顺序表.
void SeqListPushBack(SL* psl, SLDataType x);//尾插
void SeqListPrint(SL* psl);//(5) 输出顺序表所有元素.
void SeqListDestroy(SL* psl);//(3) 置空表.
void SeqListPopBack(SL* psl);//尾删
void SeqListPushFront(SL* psl, SLDataType x);//头插
void SeqListCheckCpacity(SL* psl);//检查容量
void SeqListPopFront(SL* psl);//头删
int  SeqListFind(SL* psl, SLDataType x);//(7) 在顺序表中查找值为e 的元素位置。
void SeqListInsert(SL* psl,int pos, SLDataType x);//(8)向顺序表中插入一个元素.
void SeqListErase(SL* psl, int pos);//(9)从顺序表中删除一个元素。

int SeqListLength(SL* psl);//(4) 求顺序表长度.
SLDataType SeqListPos(SL* psl, int pos);//(6) 取顺序表位置i的元素值.

SL SeqListMerge(SL* psla, SL* pslb);//合并两个顺序表